#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
环境检查脚本
"""
import os
from pathlib import Path
from business.web_ui.wm4_q4.login_business.loginbusiness import LoginBusiness

class MockPage:
    """模拟页面对象用于测试"""
    pass

def check_environment():
    """检查当前环境配置"""
    print("🔍 环境配置检查")
    print("=" * 50)
    
    # 检查环境变量
    test_env = os.getenv('TEST_ENV', '未设置')
    print(f"📊 TEST_ENV: {test_env}")
    
    if test_env == 'intranet':
        print(f"🌐 INTRANET_LOGIN_URL: {os.getenv('INTRANET_LOGIN_URL', '未设置')}")
        print(f"👤 INTRANET_USERNAME: {os.getenv('INTRANET_USERNAME', '未设置')}")
        print(f"🔑 INTRANET_PASSWORD: {'***' if os.getenv('INTRANET_PASSWORD') else '未设置'}")
    
    # 检查配置文件
    print("\n📁 配置文件检查:")
    config_file = Path('conf/env_config.ini')
    if config_file.exists():
        print(f"✅ {config_file} 存在")
    else:
        print(f"❌ {config_file} 不存在")
    
    # 测试登录业务逻辑
    print("\n🔧 登录逻辑测试:")
    try:
        mock_page = MockPage()
        login_business = LoginBusiness(mock_page)
        
        login_url = login_business._get_login_url()
        print(f"🌐 登录URL: {login_url}")
        
        username, password = login_business._get_login_credentials()
        print(f"👤 用户名: {username or '使用默认'}")
        print(f"🔑 密码: {'***' if password else '使用默认'}")
        
    except Exception as e:
        print(f"❌ 登录逻辑测试失败: {e}")
    
    # 环境判断
    print("\n🎯 当前环境:")
    if test_env == 'intranet':
        print("📍 Jenkins 内测环境模式")
        print("   - 通过FRP访问公司内网")
        print("   - 使用环境变量配置")
    elif test_env == 'qa4' or test_env == '未设置':
        print("📍 本地 QA4 环境模式")
        print("   - 直接访问外网QA4环境")
        print("   - 使用配置文件")
    else:
        print(f"📍 未知环境: {test_env}")

if __name__ == "__main__":
    check_environment()
